package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.OmcExpenseType;
import com.csun.cmny.provider.model.dto.ExpenseTypeDto;
import com.csun.cmny.provider.model.vo.ExpenseTypeVo;
import com.csun.cmny.provider.model.vo.ExpenseTypeAllVo;

import java.util.List;

public interface OmcExpenseTypeService extends IService<OmcExpenseType> {

    /**
     * 消费类别-保存
     * @param: omcExpenseType
     * @return: Integer
     */
    Integer saveExpenseType(OmcExpenseType omcExpenseType, LoginAuthDto loginAuthDto);

    /**
     * 消费类别-查询（包含类别下消费项目）
     * @param: []
     * @return: java.util.List<com.csun.cmny.provider.model.vo.ExpenseTypeVo>
     * @param expenseTypeDto
     * @param loginAuthDto
     */
    List<ExpenseTypeVo> queryAll(ExpenseTypeDto expenseTypeDto, LoginAuthDto loginAuthDto);

    List<ExpenseTypeAllVo> queryTypeAll(Long groupId);

    /**
     * 消费类别-删除
     * @param: [expenseTypeId, loginAuthDto]
     * @return: java.lang.Integer
     */
    Integer deleteExpenseTypeById(Long expenseTypeId, LoginAuthDto loginAuthDto);

    /**
     * 消费类别-基础费用类别插入（床位费、护理费）
     * @param: [loginAuthDto]
     * @return: java.lang.Integer
     */
    Integer baseTypeAdd(Long groupId, LoginAuthDto loginAuthDto);
}
